package com.lagou.testDBUtils;

import com.lagou.Utils.DruidUtils;
import jdk.jfr.StackTrace;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.junit.Test;

import java.sql.Connection;

/*
* 使用QueryRunner对象 完成增删改
*   update(Connection connection,String sql,Object...param)方法
* */
public class DBUtilsDemo02 {
    //插入操作
    @Test
    public void testInsert() throws Exception{
        //1.创建QueryRunner 手动模式
        QueryRunner qr=new QueryRunner();

        //2.编写占位符方式的SQL
        String sql="insert into employee values (?,?,?,?,?,?)";

        //3.设置占位符的参数
        Object[] param={null,"张百万",20,"女",10000,"1990-12-26"};

        //4.执行 update方法
        Connection connection = DruidUtils.getConnection();
        int i=qr.update(connection,sql,param);

        //5.释放资源
        DbUtils.closeQuietly(connection);
    }

    //修改操作  修改姓名为张百万的工资为15000
    @Test
    public void testUpdate() throws Exception{

        //1.创建核心类  自动模式 需要传递 数据库连接池对象
        QueryRunner qr=new QueryRunner(DruidUtils.getDataSource());

        //2.编写SQL
        String sql="update employee set salary=? where ename=?";

        //3.设置占位符参数
        Object[] param={15000,"张百万"};

        //4.执行修改操作  自动模式不需要传入connection对象
        //Connection connection=DruidUtils.getConnection();
        int i = qr.update(sql, param);

        //5.释放资源 自动模式不需要
    }

    //删除操作 删除eid为2的记录
    @Test
    public void testDelete() throws Exception{
        //1.创建核心类 自动模式
        QueryRunner qr=new QueryRunner(DruidUtils.getDataSource());

        //2.编写SQL
        String sql="delete from employee where eid=?";

        //3.设置占位符的参数 如果只有一个参数的话 就不需要创建数组 qr.update(sql,1);
        qr.update(sql,2);
    }
}
